package com.hanyi.mvc.handler;

import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;

// 对不同的异常进行分类处理
@ControllerAdvice
public class MyExceptionHandler2 {
    // 该方式不需要实现接口,在方法上通过注解
    @ExceptionHandler(ArithmeticException.class)
    public String hanlderArithmeticException(Exception e){
        // 记录异常信息,
        System.out.println("异常栈"+e.getStackTrace()[0]);
        System.out.println("异常消息"+e.getMessage());
        System.out.println("异常类型"+e.getClass());
        System.out.println("异常原因"+e.getCause());
        // 返回页面
        return "redirect:fan.html";
    }

    // 兜底异常处理
    @ExceptionHandler(Exception.class)
    public String hanlderException(Exception e){
        e.printStackTrace();
        // 记录异常信息,
        System.out.println("异常栈"+e.getStackTrace()[0]);
        System.out.println("异常消息"+e.getMessage());
        System.out.println("异常类型"+e.getClass());
        System.out.println("异常原因"+e.getCause());
        // 返回页面
        return "redirect:err.html";
    }
}
